EDAS Z−80 EDAS For MZ−K/C/1200 Ver1.2 ――――――――――――――――――――――――――――――――――――――― I/O 1982年11月号掲載 MZ−80K/C/1200 マシン語     012A0H−032C0H コールドスタート 012A3H ホット スタート 012A0H 起動方法 モニタからロード ――――――――――――――――――――――――――――――――――――――― ……………………………………………………………………………………………  MZ−80シリーズの新製品MZ−1200/2000が発売されたので、  さっそく’82年7月号のEDAS (EDitor Assebler)を移植しました。  80B用EDASに関する情報もあるので、  既に使用中の方も是非お読みください。  これから述べる機能、操作法は80B用と異なる点についてのみですから、  7月号および8月号(P375)も合わせてご覧ください。 …………………………………………………………………………………………… [1 MZ−1200(K/C)用] タイトルは1200用となっていますが、 80K/Cシリーズも同じモニタ(SP−1002)を使っているので 動作するはずです。 80K2Eでは確認しました。 (1)起 動  下記のアドレスよりモニタのGOTO$コマンドで起動します。   ・――――――――――――――――――――・   |コールド・スタート| 12A3番地   |   |―――――――――+――――――――――|   |ホット ・スタート| 12A0番地   |   ・――――――――――――――――――――・    バッフア・エリアの指定可能範囲は、メモリ・マップを    参照してください。 (2)モード設定コマンド   ディスプレイの表示文字数は40字/行で固定のため、   40/80字の設定コマンドはありませんが、   ラベル・テーブル出力時の1行あたりのラベル数を設定できます。   “3 LABEL/LINE DISPLY ? Y/N-”のメッセージ出力時、   Y[CR]を入力すれば3ラベル/行となり、   N[CR]を入力すれば6ラベル/行になります。   6ラベル/行はプリンタ出力を想定したものなので、   ディスプレイでは見ずらくなります   (80字/行とすれば6ラベル/行となります)。   コールド・スタート時各モードはすべで“Y”に設定されるので、   使用するシステムに合ったモード設定をしてから使ってください。 (3)ブレーク・ポインタ関連コマンド   BIコマンドで指定されるRST命令に対応するブレーク   処理は以下のとおりです。    ・―――――――――――――――――――――――――・    |RST00   |モニタのコールド・スタート   |    |――――――――+――――――――――――――――|    |RST08〜30|モニタROMの処理に依存    |    |――――――――+――――――――――――――――|    |RST38   |Z80の全レジスタ内容を表示後 |    |        |EDASのコマンド待ち     |    ・―――――――――――――――――――――――――・   ブレーク・アドレス設定(BSコマンド設定)時、   BIがRST38となっていれば、   1038〜103A番地にレジスタ内容表示処理の   エントリ・アドレスを書き込み、   それ以前はモニタのコールド・スタート状態となっています。   なお、EDASのコールド・スタート時のBSはRST38です。 (4)キー機能の対応   ・―――――――――――――――――――――――――――――――・   |             |MZ80B|  MZ1200   |   |―――――――――――――+―――――+―――――――――――|   |8文字のスペース入力※1 | TAB |    [↑]    |   |―――――――――――――+―――――+―――――――――――|   |コマンド・ストップ    |BREAK|SHIFT+BREAK|   |―――――――――――――+―――――+―――――――――――|   |テープ入出力の強制終了※2|BREAK|   BREAK   |   ・―――――――――――――――――――――――――――――――・    ※1 Sコマンドのサーチ文字列入力時は1個のスペースを表示。    ※2 1200用の場合、テープ読み込み処理の時間的余裕が       少いため、一部BREAKキーセンスを省略しています。       このため無録音のテープ読み込みを行なうと       BREAKが効かないので、       リセット後EDASをホット・スタートしてください。 (5)テープ入出力速度の変更   ダンプ・リストは1200BPS用ですが、下記の変更をすれば    600BPSになります。    ・――――――――――――――――――――・    | アドレス |1200BPS | 600BPS |    |――――――+――――――+――――――|    | 2120 |  01  |  02  |    | 2153 |  0D  |  02  |    | 2155 |  01  |  03  |    | 2164 |  04  |  08  |    | 2213 |  01  |  02  |    | 225C |  02  |  04  |    ・――――――――――――――――――――・ [2 MZ−2000用]  2000は80Bとモニタ・レベルでコンパチブルということなので、  80B用で動作するはずでしたが、使ってみたところ  “MT Read Err”が発生することがあります。  この解消のため、80B用ver1.1(’82年7月号ダンプ・リスト参照)を  表1のように変更してください。  表1の80BVer1.2は1200/2000用EDASとの  テープ互換性を持たせるための変更です。  表1 Address 80B V1.1 80B V1.2 2000 V1.2 12D2 38 -- 32 12D4 42 -- 30 12D5 20 -- 30 12DD 31 32 32 2120 E8 D0 D0 2121 03 07 07 21E1 EB -- 83 21E2 21 -- 32 220F 70 6B -- 2229 65 6A -- 2252 34 26 2C 2257 2A 38 32 2274 DC 60 60 2275 05 09 09 227B 3A 2C 31 2284 2E 3C 36 3283 00 -- CD 3284 00 -- 11 3285 00 -- 05 3286 00 -- C3 3287 00 -- EB 3288 00 -- 21 メモリ・マップ  0000・――――――――――――・    | モニタ        |    |  (SP−1002) |  1000|――――――――――――|    |モニタ・ワーク・エリア |  1200|――――――――――――|    |EDASスタック・エリア|  12A0|――――――――――――|    |            |    |EDAS        |    |(ワーク・エリアを含む)|    |            |  3500|――――――――――――|―・    |            | |    |            | |    |            | |    |            | |バッファ指定可能範囲       ||    ||    |    |            | |    |            | |  D000|――――――――――――|―・    | V−RAM      |    | etc.       |    |            |  FFFF・――――――――――――・